package com.zr.eim.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zr.common.annotation.Excel;
import com.zr.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 居家检测对象 eim_home_information
 * 
 * @author zhaojunqi
 * @date 2022-10-21
 */
public class EimHomeInformation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 类型：密接、次密、一般 */
    @Excel(name = "类型：密接、次密、一般")
    private Long type;

    /** 来源：关联来源表 */
    @Excel(name = "来源：关联来源表")
    private String source;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 监测开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "监测开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitorBeginTime;

    /** 监测结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "监测结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitorEndTime;

    /** 基本信息，查询person表 */
    private EimDataPerson baseInfo;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setMonitorBeginTime(Date monitorBeginTime) 
    {
        this.monitorBeginTime = monitorBeginTime;
    }

    public Date getMonitorBeginTime() 
    {
        return monitorBeginTime;
    }
    public void setMonitorEndTime(Date monitorEndTime) 
    {
        this.monitorEndTime = monitorEndTime;
    }

    public Date getMonitorEndTime() 
    {
        return monitorEndTime;
    }

    public EimDataPerson getBaseInfo() {
        return baseInfo;
    }

    public void setBaseInfo(EimDataPerson baseInfo) {
        this.baseInfo = baseInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("idCard", getIdCard())
            .append("type", getType())
            .append("source", getSource())
            .append("status", getStatus())
            .append("monitorBeginTime", getMonitorBeginTime())
            .append("monitorEndTime", getMonitorEndTime())
            .append("remark", getRemark())
            .toString();
    }
}
